package com.scada.service;

import java.util.Set;

import com.scada.model.bean.Role;
import com.scada.model.result.ResponseBean;


public interface RoleService {
	
	/** 
	 * @FunctionName: selectAllDataList
	 * @Description: 查询所有未禁用角色
	 * @author: 沈浩
	 * @date: 2016年11月3日 上午10:31:08 
	 * @return 
	 */
	public ResponseBean selectAllDataList();
	
	/** 
	 * @FunctionName: insert
	 * @Description: 新增role对象 只需传递 SYS_ROLE_CODE, SYS_ROLE_NAME, CREATE_USER_ID
	 * @author: 沈浩
	 * @date: 2016年11月3日 上午11:53:13 
	 * @param role
	 * @return 返回影响记录数量
	 */
	public ResponseBean insert(Role role);
	
	/** 
	 * @FunctionName: updateByPrimaryKey
	 * @Description: 修改role对象 只需传递 ID, SYS_ROLE_NAME
	 * @author: 沈浩
	 * @date: 2016年11月3日 上午11:56:09 
	 * @param role
	 * @return 返回影响记录数量
	 */
	public ResponseBean updateByPrimaryKey(Role role);
	
	/** 
	 * @FunctionName: deleteByPrimaryKey
	 * @Description: 禁用多个角色
	 * @author: 沈浩
	 * @date: 2016年11月3日 下午1:08:43 
	 * @param ids 需要禁用的id 英文逗号分隔
	 * @return 
	 */
	public ResponseBean deleteByPrimaryKey(String ids);
	
	/** 
	 * @FunctionName: selectRoleByPrimaryKey
	 * @Description: 通过ID 查找role对象
	 * @author: 沈浩
	 * @date: 2016年11月3日 下午4:38:04 
	 * @param id
	 * @return key值 role对象
	 */
	public ResponseBean selectRoleByPrimaryKey(Integer id);
	
	/** 
	 * @FunctionName: selectRoleByPrimaryKey
	 * @Description: 通过sysRoleCode 查找role对象
	 * @author: 沈浩
	 * @date: 2016年11月3日 下午4:38:04 
	 * @param id
	 * @return key值 role对象
	 */
	public ResponseBean selectRoleByCode(String sysRoleCode);
	
	/**
	 * 
	 * @Title: getAllRolesName 
	 * @Description: 查询当前用户所有角色名
	 * @param userId
	 * @return
	 * @return: Set<Role>
	 * @author: yangyuan 
	 * @date: 2017年3月24日 下午3:16:16
	 */
	public Set<String> getAllRolesName(Integer userId);

}
